package hash;

import com.alibaba.fastjson.JSON;

import java.util.ArrayList;
import java.util.List;

/**
 * 散列表
 */
public class a1_散列表 {

	public static void main(String[] args) {
		List<String> list = new ArrayList<>();
		list.add("jlkk");
		list.add("lopi");
		list.add("小傅哥");
		list.add("e4we");
		list.add("alpo");
		list.add("yhjk");
		list.add("plop");

		// 定义要存放的数组
		String[] tab = new String[8];

		// 循环存放
		for (String key : list) {
			// 决定元素位置的是(n - 1) & hash
			int idx = key.hashCode() & (tab.length - 1);  // 计算索引位置
			System.out.println(String.format("key值=%s Idx=%d", key, idx));
			if (null == tab[idx]) {
				tab[idx] = key;
				continue;
			}
			tab[idx] = tab[idx] + "->" + key;
		}
		// 输出测试结果
		System.out.println(JSON.toJSONString(tab));
	}

}
